// 将下面异步代码使用Promise实现

// setTimeout(function () {
//   var a = "hello";
//   setTimeout(function () {
//     var b = "lagou";
//     setTimeout(function () {
//       var c = "I ♥ U";
//       console.log(a + b + c);
//     }, 3000);
//   }, 2000);
// }, 1000);

// 一 1
const p1 = (callback, time) => {
  return new Promise((resolve, reject) => {
    return setTimeout(() => {
      resolve(callback());
    }, time);
  });
};

p1(() => {
  return "hello";
}, 1000)
  .then((res) => {
    return p1(() => {
      return res + "lago";
    }, 1000);
  })
  .then((res) => {
    return p1(() => {
      return res + "I ♥ U";
    }, 1000);
  })
  .then((res) => console.log(res));

// 一 2 优化第一次
const p2 = (value, time) => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(value);
    }, time);
  });
};

p2("hello ♥", 1000)
  .then((res) => p2(res + "lagou ♥", 1000))
  .then((res) => p2(res + "I ♥ ♥ U", 1000))
  .then((res) => console.log(res));
